package com.donleo.ssm.dao;

import com.donleo.ssm.model.TeamModel;
import com.donleo.ssm.model.UserModel;

import java.util.List;

/**
 * @author liangd
 * date 2020-11-25 16:54
 * code
 */
public interface ITeamMapper {
    /**
     * 增加
     * @param teamModel
     * @return
     */
    Integer add(TeamModel teamModel);

    /**
     * 删除
     * @param id
     * @return
     */
    Integer delete(Integer id);

    /**
     * 批量删除
     * @param idsList
     * @return
     */
    Integer deletes(List<Integer> idsList);

    /**
     * 修改
     * @param teamModel
     * @return
     */
    Integer update(TeamModel teamModel);

    /**
     * 查询单个
     * @param id
     * @return
     */
    TeamModel findById(Integer id);

    /**
     * 查询所有
     * @param teamModel
     * @return
     */
    List<TeamModel> findAll(TeamModel teamModel);

    /**
     * 统计条数
     * @param teamModel
     * @return
     */
    Integer getCount(TeamModel teamModel);

    /**
     * 查询所有未分组学生
     * @return
     */
    List<UserModel> findAllStudent();

    /**
     * 统计未分组学生总数
     * @return
     */
    Integer getStudentCount();

    /**
     * 分配组员
     * @param userList
     * @return
     */
    Integer assignStudent(List<UserModel> userList);

    /**
     * 根据小组名字查询学生用户
     * @param teamName
     * @return
     */
    List<UserModel> findStudentByTeam(String teamName);

    /**
     * 统计小组人数
     * @param teamName
     * @return
     */
    Integer getStudentTeamCount(String teamName);

    /**
     * 移除小组学生
     * @param userList
     * @return
     */
    Integer deleteStudent(List<UserModel> userList);
}
